Pionek
Limit pamięci: 64 MB
Rozważmy nieskończoną (we wszystkich kierunkach) planszę o kwadratowych
polach.
Na tej planszy stoi pionek na polu o współrzędnych .
Pionek ten może wykonywać pewne ruchy. Może się on przesuwać o pewne ustalone
liczby pól w prawo bądź w lewo oraz o pewne ustalone liczby
pól w górę bądź w dół.
Przy takich ograniczeniach można zwykle dojść pionkiem tylko do niektórych pól planszy.
Twoim zadaniem jest określić, ile spośród takich osiągalnych pól mieści się
w pewnym prostokątnym fragmencie planszy.
Wejście
W pierwszym wierszu standardowego wejścia znajdują się dwie liczby całkowite oraz
() oznaczające odpowiednio liczbę ruchów poziomych
oraz pionowych, jakie może wykonać pionek za jednym skokiem.
W drugim wierszu znajdują się cztery liczby całkowite , , ,
() oznaczające odpowiednio
współrzędne lewego dolnego i prawego górnego wierzchołka prostokątnego
fragmentu planszy, w którym należy policzyć liczbę pól osiągalnych.
Przyjmujemy, że punkt należy do tego prostokąta wtedy i tylko
wtedy, gdy oraz .
W każdym z następnych wierszy znajduje się jedna liczba całkowita
() oznaczająca liczbę pól o jakie pionek może się
przesunąć w prawo lub w lewo wykonując -ty poziomy ruch.
W każdym z następnych wierszy znajduje się jedna liczba całkowita
() oznaczająca liczbę pól o jakie pionek może się
przesunąć w górę lub w dół wykonując -ty pionowy ruch.
Możesz założyć, że w testach wartych co najmniej punktów zachodzi dodatkowy warunek:
i .
Wyjście
Twój program powinien wypisać w pierwszym i jedynym wierszu standardowego wyjścia
jedną liczbę całkowitą oznaczającą liczbę pól w obrębie zadanego
prostokątnego fragmentu planszy, do których pionek może się dostać.
Przykład
Dla danych wejściowych:
1 2
1 1 10 2
1
2
5
poprawną odpowiedzią jest:
20
Autor zadania: Marian M. Kędzierski.